home *** CD-ROM | disk | FTP | other *** search
/ Scene Xplorer 1 / Scene_Xplorer_1.iso / Tools / Visage / Install Visage < prev    next >
Encoding:
Text File  |  1978-01-11  |  18.2 KB  |  773 lines

  1. ;
  2. ; Installer script for Visage.
  3. ;
  4. ; $VER: Install_Visage 39.1 (7.9.95)
  5. ;
  6.  
  7. ; Get current language (no need for lots of silly icons! ;). However, this
  8. ; won't properly work for all versions of the Installer. Some doesn't
  9. ; understand the tooltype "LANGUAGE=default". :/
  10.  
  11. (if (= (exists "Env:Language") 1)
  12.     ; GetEnv reports "String too long" if the variable doesn't exist! :(
  13.     (set @language (getenv "language"))
  14. )
  15.  
  16. ;**************************************************************************
  17. ;
  18. ; English strings
  19. ;
  20.  
  21. (set default-lang 1)
  22.  
  23. (set #bad-kick
  24.     "You must have AmigaOS Release 3.0 or newer to use Visage."
  25. )
  26.  
  27. (set #welcome
  28.     (cat
  29.         "\n\n\nWelcome to the Visage installation utility.\n\n"
  30.         "This program lets you install Visage on your Amiga.\n\n\n"
  31.         "Visage © 1995  Magnus Holmgren."
  32.     )
  33. )
  34.  
  35. (set #install-parts "Please select the parts you wish to install")
  36.  
  37. (set #item-visage "Visage")
  38.  
  39. (set #item-visage-guide "Visage.guide")
  40.  
  41. (set #item-locale "Translations")
  42.  
  43. (set #item-codec "JPEG codec")
  44.  
  45. (set #item-getmodeid "GetModeID")
  46.  
  47. (set #item-kill "Kill")
  48.  
  49. (set #item-unpackilbm "UnpackILBM")
  50.  
  51. (set #install-parts-help
  52.     (cat
  53.         "    Here you select the different parts of Visage that you would like to "
  54.         "install. After that, you select the details of the installation (such as "
  55.         "where the different files should be installed). You may choose to install "
  56.         "the following items:\n"
  57.         "    Visage: The actual picture viewer.\n"
  58.         "    Visage.guide: The manual, in AmigaGuide® format. If you install it "
  59.         "using the installer, the text will reflow to fit the current window size. "
  60.         "If you do a manual installation, the text is fixed to 76 columns.\n"
  61.         "    Translations: If you install a translation, then Visage can operate in "
  62.         "the language(s) you select.\n"
  63.         "    JPEG codec: The Tower JPEG Codec Class, which Visage needs to be able "
  64.         "to view JPEG pictures (without using datatypes).\n"
  65.         "    GetModeID: A program that shows a screen mode requester, and prints "
  66.         "a decimal number that represents the selected screen mode.\n"
  67.         "    Kill: A program that can stop another program (sending \"break\" "
  68.         "signals). Similar to Break.\n"
  69.         "    UnpackILBM: A program that unpacks the picture data in an IFF ILBM "
  70.         "picture (the BODY chunk).\n"
  71.         "    For more information about these parts, please read the manual.\n"
  72.     )
  73. )
  74.  
  75. (set #where-visage "Where would you like to install Visage?")
  76.  
  77. (set #where-visage-guide "Where would you like to install Visage.guide?")
  78.  
  79. (set #copy-guide-icon "Should I copy the icon for Visage.guide?")
  80.  
  81. (set #convert-guide "Converting Visage.guide...")
  82.  
  83. (set #which-language "Which languages should be installed?")
  84.  
  85. (set #which-language-help
  86.     (cat
  87.         "    The Amiga can be operated in many different languages. If you "
  88.         "want Visage to use the same language as your Amiga Workbench, "
  89.         "then a couple of catalog files must be copied to your harddisk "
  90.         "for each language supported.\n"
  91.         "    To reduce the amount of space consumed by the language files, "
  92.         "you can select to have only the files of specific languages "
  93.         "copied.\n"
  94.         "    Simply check the boxes of the languages you wish to have have "
  95.         "available on your system.\n"
  96.     )
  97. )
  98.  
  99. (set #where-tools "Where would you like to install the extra programs?")
  100.  
  101. (set #where-tools-help
  102.     (cat
  103.         "    Here you specify where the programs GetModeID, Kill and UnpackILBM "
  104.         "will be installed. Only the programs you selected will be copied. Since "
  105.         "these programs are Shell-only, the default location is C:, where the "
  106.         "systems Shell-only programs can be found.\n"
  107.         "    It is recommended that you install these programs somewhere in "
  108.         "your command search path.\n"
  109.     )
  110. )
  111.  
  112. (set #copy "Copying %s to %s...")
  113.  
  114. (set #program-update "How do you want to update the tooltypes in the icon?")
  115.  
  116. (set #update-none "No update")
  117.  
  118. (set #update-all "Add all")
  119.  
  120. (set #update-since "Add new since %s")
  121.  
  122. (set #program-update-help
  123.     (cat
  124.         "    Since this installation updated an older version of Visage, "
  125.         "the icon have not been copied over. This to maintain any changes "
  126.         "you may have made to it. However, new tooltypes may have been added. "
  127.         "Here you can decide if you want to:\n"
  128.         "    No update: Skip this part.\n"
  129.         "    Add all tooltypes: existing tooltypes will not be changed "
  130.         "Any tooltypes you may have removed will be added again. The new "
  131.         "tooltypes will be added as well.\n "
  132.         "    Add new since 39.x: Only add the new tooltypes since that version. "
  133.         "Note that the installation script for version 39.1 didn't actually add "
  134.         "all new tooltypes. Thus, if you are updating from version 39.1, you "
  135.         "should select \"Add new since 39.0\", to make sure you get all new "
  136.         "tooltypes (this is the default selection).\n"
  137.     )
  138. )
  139.  
  140. ; JPEG codec
  141.  
  142. (set #codec-message
  143.     (cat
  144.         "\n\n\nTower JPEG Codec Class\n\nCopyright © 1994 Christoph Feck, TowerSystems\n"
  145.         "All Rights Reserved.\n\n\n\n"
  146.         "Please refer to the documentation for details."
  147.     )
  148. )
  149.  
  150. (set #jpeg-tmp-prompt
  151.     "Select a directory for temporary files, not in RAM:"
  152. )
  153.  
  154. (set #temp-file
  155.     (cat
  156.         "    To decode certain JPEG images, the Codec needs a large amount of memory.\n"
  157.         "If the required storage is not available in main memory, the Codec will "
  158.         "create a temporary file on your harddisk. The volume on which this file is "
  159.         "created should have enough free space (about 4 meg).\n"
  160.         "    A temporary file is usually only required, if you want to quantize "
  161.         "JPEG images to 256 colors.\n\n"
  162.         @askdir-help
  163.     )
  164. )
  165.  
  166. (set #jpeg-startup-prompt
  167.     "An assignment has to be added to your user-startup."
  168. )
  169.  
  170. (set #make-assign
  171.     (cat
  172.         "    The logical assignment \"JPEGTMP:\" is used to refer to the temporary "
  173.         "directory.\n"
  174.         "    In order to make this assignment available on every reboot, an "
  175.         "\"Assign\" command has to be added to your \"user-startup\" file.\n\n"
  176.         @startup-help
  177.     )
  178. )
  179.  
  180. (set #jpeg-copy "Copying %s...")
  181.  
  182.  
  183. ;**************************************************************************
  184. ;
  185. ; Norwegian strings
  186. ;
  187.  
  188. (if (= @language "norsk")
  189.     (
  190.         (set default-lang 2)
  191.     )
  192. )
  193.  
  194.  
  195. ;**************************************************************************
  196. ;
  197. ; Finnish strings
  198. ;
  199.  
  200. (if (= @language "suomi")
  201.     (
  202.         (set default-lang 4)
  203.     )
  204. )
  205.  
  206.  
  207. ;**************************************************************************
  208. ;
  209. ; Swedish strings
  210. ;
  211.  
  212. (if (= @language "svenska")
  213.     (
  214.         (set default-lang 8)
  215.  
  216.         (set #bad-kick
  217.             "Du måste ha AmigaOS version 3 eller nyare för att kunna använda Visage."
  218.         )
  219.  
  220.         (set #welcome
  221.             (cat
  222.                 "\n\n\nVälkommen till Installeraren.\n\n"
  223.                 "Det här programmet låter dig installera Visage i din Amiga.\n\n\n"
  224.                 "Visage © 1995  Magnus Holmgren."
  225.             )
  226.         )
  227.  
  228.         (set #install-parts "Välj de delar du vill installera:")
  229.  
  230.         (set #item-visage "Visage")
  231.  
  232.         (set #item-visage-guide "Visage.guide")
  233.  
  234.         (set #item-locale "Översättningar")
  235.  
  236.         (set #item-codec "JPEG codec")
  237.  
  238.         (set #install-parts-help
  239.             (cat
  240.                 "  Här väljer du de olika delar av Visage som du vill installera. "
  241.                 "Efter det anger du detaljer om installationen (såsom var de olika "
  242.                 "filerna ska installeras). Du kan välja mellan följande delar:\n"
  243.                 "  Visage: Själva bildvisaren.\n"
  244.                 "  Visage.guide: Manualen, i AmigaGuide®-format. Om du installerar "
  245.                 "den med Installeraren, så kommer texten att formateras om efter "
  246.                 "fönstrets aktuella storlek. Om du installerar den manuellt, så "
  247.                 "är texten fixerad vid 76 kolumner.\n"
  248.                 "  Översättningar: Om du installerar en översättning, så kan "
  249.                 "Visage använda det språket.\n"
  250.                 "  JPEG codec: \"The Tower JPEG Codec Class\". Visage behöver "
  251.                 "den här för att kunna visa JPEG-bilder.\n"
  252.                 "  GetModeID: Ett program som visar en skärmlägesväljare, och "
  253.                 "sedan skriver ut ett decimalt tal som motsvarar det valda "
  254.                 "skärmläget.\n"
  255.                 "  Kill: Ett program som kan stoppa andra program (genom att "
  256.                 "skicka \"break\"-signaler). Liknar Break.\n"
  257.                 "  UnpackILBM: Ett program som packar upp bilddatan i en IFF ILBM "
  258.                 "bild (BODY \"chunken\").\n"
  259.                 "    För mer information om de här sakerna, se manualen.\n"
  260.             )
  261.         )
  262.  
  263.         (set #where-visage "Var vill du installera Visage?")
  264.  
  265.         (set #where-visage-guide "Var vill du installera Visage.guide?")
  266.  
  267.         (set #copy-guide-icon "Ska jag kopiera ikonen för Visage.guide?")
  268.  
  269.         (set #convert-guide "Konverterar Visage.guide...")
  270.  
  271.         (set #which-language "Vilka språk ska installeras?")
  272.  
  273.         (set #which-language-help
  274.             (cat
  275.                 "  Amigan kan arbeta med flera olika språk. Om du vill att "
  276.                 "Visage ska använda samma språk som Amiga Workbench så "
  277.                 "måste en så kallad katalogfil kopieras till din systemdisk "
  278.                 "för varje språk.\n"
  279.                 "  För att minimera diskutrymmet för språkfiler kan du välja "
  280.                 "att bara installera filerna för vissa språk.\n"
  281.                 "  Markera bara rutorna för de språk du önskar installera i "
  282.                 "din dator.\n"
  283.             )
  284.         )
  285.  
  286.         (set #where-tools "Var vill du installera de extra programmen?")
  287.  
  288.         (set #where-tools-help
  289.             (cat
  290.                 "  Här anger du var programmen GetModeID, Kill och UnpackILBM "
  291.                 "ska installeras någonstans. Bara de program som du valde "
  292.                 "tidigare kommer att kopieras. Eftersom de här programmen bara "
  293.                 "kan användas från ett skal, så är den förvalda destinationen C:, "
  294.                 "eftersom systemets \"skalprogram\" finns där. Det rekommenderas "
  295.                 "att du installerar dessa program någonstans i sökvägen för "
  296.                 "kommandon.\n"
  297.             )
  298.         )
  299.  
  300.         (set #copy "Kopierar %s till %s...")
  301.  
  302.         (set #program-update "Hur vill du uppdatera verktygstyperna i symbolen?")
  303.  
  304.         (set #update-none "Uppdatera inte")
  305.  
  306.         (set #update-all "Lägg till alla")
  307.  
  308.         (set #update-since "Lägg till nya sedan %s")
  309.  
  310.         (set #program-update-help
  311.             (cat
  312.                 "  Eftersom den här installationen uppdaterade än gammal version "
  313.                 "av Visage, så har symbolen inte kopierats. Detta för att bibehålla "
  314.                 "eventuella ändringar som du kan ha gjort. Men nya verktygstyper kan "
  315.                 "ha tillkommit. Här kan du avgöra vad du vill göra:\n"
  316.                 "  Uppdatera inte: Hoppa över detta.\n"
  317.                 "  Lägg till alla: Lägg till alla verktygstyper. Existerande "
  318.                 "verktygstyper kommer inte att ändras.\n"
  319.                 "  Lägg till nya sedan 39.x: Lägg bara till de nya "
  320.                 "verktytstyperna. Observera att installationsscriptet för "
  321.                 "version 39.1 lade inte till alla nya verktygstyper. Så "
  322.                 "om du uppdaterar från version 39.1, så bör du välja "
  323.                 "\"Lägg till nya sedan 39.0\" för att vara säker på att få "
  324.                 "med alla nya verktygstyper (detta är förvalt).\n"
  325.             )
  326.         )
  327.  
  328.         ; JPEG codec
  329.  
  330.         (set #temp-file
  331.             (cat
  332.                 "  För att packa upp vissa JPEG-bilder, så behöver Codec:en "
  333.                 "mycket minne.\n"
  334.                 "  Om det inte finns nog med plats i huvudminnet, så kommer "
  335.                 "Codec:en att skapa en temporärfil på din hårddisk. Volymen "
  336.                 "på vilken den här filen skapas bör ha tillräcklikt med fritt "
  337.                 "utrymme (ungefär 4 MB).\n"
  338.                 "  En temporärfil behövs normalt sett bara om du vill "
  339.                 "kvantisera JPEG-bilder till 256 färger.\n\n"
  340.                 @askdir-help
  341.             )
  342.         )
  343.  
  344.         (set #make-assign
  345.             (cat
  346.                 "  Den logiska tilldelningen \"JPEGTMP:\" används för att "
  347.                 "referera till lådan för temporära filer.\n"
  348.                 "  För att göra den här tilldelningen tillgänglig vid varje "
  349.                 "systemstart så behöver ett \"Assign\"-kommando läggas till "
  350.                 "i din \"user-startup\"-fil.\n\n"
  351.                 @startup-help
  352.             )
  353.         )
  354.  
  355.         (set #codec-message
  356.             (cat
  357.                 "\n\n\nTower JPEG Codec Class\n\n"
  358.                 "Upphovsrätt © 1994 Christoph Feck, TowerSystems\n"
  359.                 "Alla rättigheter reserverade.\n\n\n\n"
  360.                 "Var god läs dokumentationen för detaljer."
  361.             )
  362.         )
  363.  
  364.         (set #jpeg-tmp-prompt
  365.             "Välj en låda för temporära filer, inte i RAM:"
  366.         )
  367.  
  368.         (set #jpeg-startup-prompt
  369.             "En tilldelning måste läggas till i din user-startup."
  370.         )
  371.  
  372.         (set #jpeg-copy "Kopierar %s...")
  373.     )
  374. )
  375.  
  376. ;**************************************************************************
  377. ;
  378. ; The actual installaion script
  379. ;
  380.  
  381. ; Check Kickstart version. Exit if not at least 3.0
  382. (if (< (/ (getversion) 65536) 39)
  383.         (abort #bad-kick)
  384. )
  385.  
  386. ; Set to true if we did an update (old Visage.info found)
  387. (set update 0)
  388.  
  389. ; Since files can be scatter installed, don't mention any specific location.
  390. (set @default-dest "")
  391.  
  392. ; Version of old program. This means no old program.
  393. (set visagever 0)
  394. (set visagerev 0)
  395.  
  396. ; Greetings Mr. Falken...
  397. (message #welcome)
  398.  
  399. (welcome)
  400.  
  401. ; Ask the user what to install
  402. (set install-files
  403.     (askoptions
  404.         (prompt    #install-parts)
  405.         (help    #install-parts-help "\n" @askoptions-help)
  406.         (choices
  407.             #item-visage
  408.             #item-visage-guide
  409.             #item-locale
  410.             #item-codec
  411.             #item-getmodeid
  412.             #item-kill
  413.             #item-unpackilbm
  414.         )
  415.         (default (if (= @user-level 2) 127 15))
  416.     )
  417. )
  418.  
  419. ; Ask the user for the location of all parts
  420. (if (BITAND install-files 1)
  421.     (set visage-dest
  422.         (askdir
  423.             (prompt  #where-visage)
  424.             (help    @askdir-help)
  425.             (default "Sys:Utilities")
  426.         )
  427.     )
  428. )
  429.  
  430. (if (BITAND install-files 2)
  431.     (
  432.         (set guide-dest visage-dest)
  433.  
  434.         (if (exists "Help:")
  435.             (set guide-dest "Help:")
  436.         )
  437.  
  438.         (set guide-dest
  439.             (askdir
  440.                 (prompt  #where-visage-guide)
  441.                 (help    @askdir-help)
  442.                 (default guide-dest)
  443.             )
  444.         )
  445.  
  446.         (set dest-guide-name (tackon guide-dest "Visage.guide.info"))
  447.  
  448.         (set copy-guide-icon
  449.             (if (AND (= @user-level 2 ) (= (exists dest-guide-name) 0))
  450.                 (askbool
  451.                     (prompt #copy-guide-icon)
  452.                     (help    " ")
  453.                 )
  454.                 1
  455.             )
  456.         )
  457.     )
  458. )
  459.  
  460. (set languages 0)
  461.  
  462. (if (BITAND install-files 4)
  463.     (set lang
  464.         (askoptions
  465.             (prompt    #which-language)
  466.             (help    #which-language-help "\n" @askoptions-help)
  467.             (choices
  468.                 "English"
  469.                 "Norsk"
  470.                 "Suomi"
  471.                 "Svenska"
  472.             )
  473.             (default default-lang)
  474.         )
  475.     )
  476. )
  477.  
  478. (if (BITAND install-files 112)    ; 16 + 32 + 64
  479.     (set tool-dest
  480.         (askdir
  481.             (prompt    #where-tools)
  482.             (help    #where-tools-help "\n" @askdir-help)
  483.             (default "C:")
  484.         )
  485.     )
  486. )
  487.  
  488. ; And now do the actual installation
  489.  
  490. (complete 0)
  491.  
  492. (if (BITAND install-files 1)
  493.     (
  494.         ; Get the version of previously installed Visage
  495.         (if (= (exists (tackon visage-dest "Visage")) 1)
  496.             (
  497.                 (set vernum (getversion (tackon visage-dest "Visage")))
  498.                 (set visagever (/ vernum 65536))
  499.                 (set visagerev (- vernum (* visagever 65536)))
  500.  
  501.                 (if (<= visagever 38)
  502.                     (
  503.                         (set visagever 39)
  504.                         (set visagerev 0)
  505.                     )
  506.                 )
  507.             )
  508.         )
  509.  
  510.         (copylib
  511.             (prompt    (#copy "Visage" visage-dest))
  512.             (source    "Visage")
  513.             (dest    visage-dest)
  514.         )
  515.  
  516.         (if (= (exists (tackon visage-dest "Visage.info")) 0)
  517.             (copyfiles
  518.                 (source    "Visage.info")
  519.                 (dest    visage-dest)
  520.             )
  521.             (set update 1)
  522.         )
  523.     )
  524. )
  525.  
  526. (complete 20)
  527.  
  528. (if (BITAND install-files 2)
  529.     (
  530.         (working #convert-guide)
  531.  
  532.         (run "C/FixAG Visage.guide T:Visage.Guide")
  533.  
  534.         (copylib
  535.             (prompt (#copy "Visage.guide" guide-dest))
  536.             (source "T:Visage.guide")
  537.             (dest   guide-dest)
  538.         )
  539.  
  540.         (delete "T:Visage.guide" (safe))
  541.  
  542.         (if copy-guide-icon
  543.             (copyfiles
  544.                 (source "Visage.guide.info")
  545.                 (dest   guide-dest)
  546.             )
  547.         )
  548.     )
  549. )
  550.  
  551. (complete 40)
  552.  
  553. (if (BITAND install-files 4)
  554.     (
  555.         (set n 0)
  556.  
  557.         (while
  558.             (set language
  559.                 (select n
  560.                     "English"
  561.                     "Norsk"
  562.                     "Suomi"
  563.                     "Svenska"
  564.                     ""
  565.                 )
  566.             )
  567.  
  568.             (
  569.                 (if (AND (IN lang n) (<> 0 n))
  570.                     (
  571.                         (set catalog
  572.                             (tackon "Catalogs"
  573.                                 (tackon language "visage.catalog")
  574.                             )
  575.                         )
  576.                         (set destination (tackon "Locale:Catalogs" language))
  577.  
  578.                         (copylib
  579.                             (prompt (#copy catalog destination))
  580.                             (source catalog)
  581.                             (dest   destination)
  582.                         )
  583.                     )
  584.                 )
  585.  
  586.                 (set n (+ n 1))
  587.             )
  588.         )
  589.     )
  590. )
  591.  
  592. (complete 45)
  593.  
  594. (if (BITAND install-files 16)
  595.     (copylib
  596.         (prompt (#copy "GetModeID" tool-dest))
  597.         (source "C/GetModeID")
  598.         (dest   tool-dest)
  599.     )
  600. )
  601.  
  602. (if (BITAND install-files 32)
  603.     (copylib
  604.         (prompt (#copy "Kill" tool-dest))
  605.         (source "C/Kill")
  606.         (dest   tool-dest)
  607.     )
  608. )
  609.  
  610. (if (BITAND install-files 64)
  611.     (copylib
  612.         (prompt (#copy "UnpackILBM" tool-dest))
  613.         (source "C/UnpackILBM")
  614.         (dest   tool-dest)
  615.     )
  616. )
  617.  
  618. (complete 50)
  619.  
  620. ; JPEG codec installation
  621.  
  622. (if (BITAND install-files 8)
  623.     (
  624.         ;****************************************************************************
  625.         ;
  626.         ; Setup
  627.         ;
  628.  
  629.         (set libs-dest "LIBS:")
  630.         (set class-dest "SYS:Classes")
  631.  
  632.         (if (not (exists class-dest))
  633.             (set class-dest "LIBS:")
  634.         )
  635.  
  636.         ;****************************************************************************
  637.         ;
  638.         ; Welcome
  639.         ;
  640.  
  641.         (message #codec-message)
  642.  
  643.         ;****************************************************************************
  644.         ;
  645.         ; JPEGTMP: assignment
  646.         ;
  647.  
  648.         (set has-temp 0)
  649.  
  650.         (if (exists "JPEGTMP:" (noreq))
  651.             (
  652.                 (set has-temp 1)
  653.                 (if (= "RAM" (getdevice "JPEGTMP:"))
  654.                     (set has-temp 0)
  655.                 )
  656.             )
  657.         )
  658.  
  659.         (if (= has-temp 0)
  660.             (
  661.                 (set jpeg-tmp (askdir (help #temp-file) (prompt #jpeg-tmp-prompt) (default "SYS:")))
  662.                 (startup "JPEG Codec"
  663.                     (help #make-assign)
  664.                     (prompt #jpeg-startup-prompt)
  665.                     (command "Assign JPEGTMP: \"" jpeg-tmp "\"")
  666.                 )
  667.                 (makeassign "JPEGTMP" jpeg-tmp)
  668.             )
  669.         )
  670.  
  671.         (complete 60)
  672.  
  673.         ;****************************************************************************
  674.         ;
  675.         ; Install libraries and classes
  676.         ;
  677.  
  678.         (copylib
  679.             (help @copylib-help)
  680.             (prompt (#jpeg-copy "tower.library"))
  681.             (source "Libs/tower.library")
  682.             (dest libs-dest)
  683.             (confirm)
  684.         )
  685.  
  686.         (complete 70)
  687.  
  688.         (copylib
  689.             (help @copylib-help)
  690.             (prompt (#jpeg-copy "codec.class"))
  691.             (source "Classes/codec.class")
  692.             (dest class-dest)
  693.             (confirm)
  694.         )
  695.  
  696.         (complete 80)
  697.  
  698.         (copylib
  699.             (help @copylib-help)
  700.             (prompt (#jpeg-copy "picture.codec"))
  701.             (source "Classes/Codecs/picture.codec")
  702.             (dest (tackon class-dest "Codecs"))
  703.             (confirm)
  704.         )
  705.  
  706.         (complete 90)
  707.  
  708.         (copylib
  709.             (help @copylib-help)
  710.             (prompt (#jpeg-copy "jpeg.codec"))
  711.             (source "Classes/Codecs/jpeg.codec")
  712.             (dest (tackon class-dest "Codecs"))
  713.             (confirm)
  714.         )
  715.  
  716.         ;****************************************************************************
  717.         ;
  718.         ; Exit
  719.         ;
  720.  
  721.         (run "Avail >NIL: FLUSH")
  722.     )
  723. )
  724.  
  725. (if update
  726.     (
  727.         (complete 95)
  728.         (set defaction 0)
  729.  
  730.         (if (AND (= visagever 39) (= visagerev 0))
  731.             (set defaction 2)
  732.         )
  733.  
  734.         (if (AND (= visagever 39) (= visagerev 1))
  735.             (set defaction 2)    ; Since all tooltypes weren't updated with the
  736.         )                ; last installer script.. :(
  737.  
  738.         (set action
  739.             (askchoice
  740.                 (prompt        #program-update)
  741.                 (choices    #update-none
  742.                         #update-all
  743.                         (#update-since "39.0")
  744.                         (#update-since "39.1")
  745.                 )
  746.                 (default    defaction)
  747.                 (help        #program-update-help "\n" @askchoice-help)
  748.             )
  749.         )
  750.  
  751.         (set #tt39-1 "DITHER|COMPACT|TIME")
  752.         (set #tt39-2 "COMMAND|CYCLE|NOCLICK|NORMALNAMES|RTG|SORT|TEST|VCENTER")
  753.  
  754.         (if (>= action 1)
  755.             (run
  756.                 ("C/DoIconLite Visage.info TO %s UPTT SEARCHTT %s"
  757.                     (tackon visage-dest "Visage.info")
  758.                     (select action
  759.                         ""
  760.                         "#?"
  761.                         ("#?(%s|%s)#?" #tt39-1 #tt39-2)
  762.                         ("#?(%s)#?" #tt39-2)
  763.                     )
  764.                 )
  765.             )
  766.         )
  767.     )
  768. )
  769.  
  770. (complete 100)
  771.  
  772. (exit)
  773.